Automated process control systems include a comprehensive set of control algorithms, or software-definable process control routines, to control and monitor various processes within, for instance, a manufacturing facility. The control systems can be tailored to satisfy a wide range of process requirements globally or within specified portions of the facility. Conventionally, the control systems include a variety of modules, each having its own processor or firmware, linked together by communication buses to result in a distributed process control system. The distributed nature of the system affords high performance with the capability to expand the system incrementally to satisfy growth or modifications in the facility.
To allow a user to tailor a process control system to a particular processing environment, it is important to provide such systems with highly-configurable and adaptable control systems. Process control systems generally provide a means by which users can create custom control strategies, e.g., software-definable process control routines. In object-oriented programming environments, a complete control strategy may be built from smaller components, such as "blocks" and "parameters." A block is a software construct, or "object," used to encapsulate the data and the algorithms of elemental control computations; parameters define the interface to individual pieces of data within a block.
Digital process controllers (DPCs) are generally required to meet a series of requirements on the manner in which they process control algorithms. For example, they must execute the control algorithms in a periodic fashion. The control algorithms must be executed at a sample rate, where the sample rate "jitter" is sufficiently low compared to the tolerance of process dynamics. DPCs may be required to execute additional algorithms whose functions are essential for the overall process control mission but are not periodic and predictable, e.g., communication with supervisory display and control stations, communication with peer controllers, event distribution and housekeeping tasks. DPCs must execute non-periodic algorithms in a way which does not interfere with deterministic execution of periodic control algorithms as long as DPCs are configured within a defined operating range.
To meet these above-described requirements, DPCs are required to balance the control algorithm processing load and distribute it over the time interval of the DPCs' fundamental repetition rate. Conventional DPCs, such as Honeywell Inc. TDC3000 controllers known as "Process Manager," "Advanced Process Manager" and "High Performance Process Manager," pre-qualify a configuration and accept or reject the configuration on the basis of predicted potential for overload. These DPCs, however, do not support manual balancing, balancing a subset of algorithms while other algorithms maintain control, user measurement of execution time for a particular algorithm or associating execution time with an algorithm as a characteristic attribute.
On the other hand, other conventional DPCs, such as Honeywell's "Alcont Process Manager," provide only for manual balancing of the algorithm processing load. These DPCs, however, do not support qualification of an algorithm load on the basis of a model computation or rejection of a load which is too high. Still other DPCs, such as Honeywell's "TPS Networks Safety Manager," provide for computing execution time from characteristics of a particular algorithm configuration, but do not support balancing of subset algorithms while other algorithms maintain control.
Therefore, what is needed in the art is an improved method for managing algorithm processing load within a process controller that incorporates all the above-described features into one controller. More particularly, what is needed in the art is a method that provides flexible management of algorithm processing load.